Enhancement of metadata for items of media content recorded by a digital video recorder

ABSTRACT

Methods, systems, and apparatuses are described herein for enhancing metadata of a recorded items of media content stored on a digital video recorder (DVR) associated with an end user. First metadata associated with the recorded item is determined from the DVR. An aired instance of the first media content is determined in program data from an electronic program guide that corresponds to the recorded item. Second metadata associated with the first media content is retrieved from at least one data source based at least on the identifying information. The first metadata and the second metadata are stored in an end user database in association with the end user.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to India Provisional Patent ApplicationNo. 201841003133, filed Jan. 26, 2018 and entitled “Enhancement ofMetadata for Recorded Content,” the entirety of which is incorporated byreference herein.

BACKGROUND Technical Field

The subject matter described herein relates to the enhancing metadatafor recorded items of media content stored on a digital video recorder.

Description of Related Art

A digital video recorder (DVR) is a consumer electronic device thatrecords video in a digital format on a mass storage device. Forinstance, a DVR may include a set-top box, a portable media player, or aTV gateway with recording capability. Typically, a viewer causes itemsof media content to be recorded onto a DVR from linear television (TV),including from real-time TV services that broadcast scheduled programsconventionally over the air or through satellite or cable. For instance,a viewer may be looking forward to watching an item of media contentbroadcast at a time the viewer is not available to watch the broadcastlive. Thus, by recording and storing the item of media content using theDVR, the viewer can access and play the item of media content at a latertime. A limited amount of data descriptive of an item of media contentmay be stored with the item of media content on the DVR.

BRIEF SUMMARY

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter.

Methods, systems, apparatuses, and computer program products areprovided for enhancing metadata of recorded items of media contentstored on a digital video recorder associated with an end user. Ametadata determiner is configured to determine, from the digital videorecorder, first metadata associated with a recorded item of first mediacontent stored on the digital video recorder and including listedinformation for the recorded item. A program data retriever isconfigured to retrieve program data from an electronic program guidebased on the listed information. A recorded item identifier isconfigured to determine, in the program data, an aired instance of thefirst media content that corresponds to the recorded item, where theaired instance of the first media content in the program data includesidentifying information for the first media content additional to thelisted information. A metadata enhancer is configured to retrieve secondmetadata associated with the first media content from at least one datasource based at least on the identifying information. The secondmetadata includes supplemental information for the first media contentadditional to the listed information and the identifying information.The metadata enhancer is configured to store the first metadata and thesecond metadata in an end user database in association with the enduser.

Further features and advantages, as well as the structure and operationof various examples, are described in detail below with reference to theaccompanying drawings. It is noted that the ideas and techniques are notlimited to the specific examples described herein. Such examples arepresented herein for illustrative purposes only. Additional exampleswill be apparent to persons skilled in the relevant art(s) based on theteachings contained herein.

BRIEF DESCRIPTION OF THE DRAWINGS/FIGURES

The accompanying drawings, which are incorporated herein and form a partof the specification, illustrate embodiments and, together with thedescription, further serve to explain the principles of the embodimentsand to enable a person skilled in the pertinent art to make and use theembodiments.

FIG. 1 depicts a block diagram of a system for enhancing metadata forrecorded items of media content, according to an embodiment.

FIG. 2 depicts a flowchart for enhancing metadata for recorded items ofmedia content, according to an embodiment.

FIG. 3 depicts a further detailed block diagram of the system of FIG. 1,according to an embodiment.

FIG. 4 depicts a flowchart for determining metadata associated with therecorded item in a DVR, according to an embodiment.

FIG. 5 depicts a flowchart for determining an aired instance of thefirst media content that corresponds to the recorded item, according toan embodiment.

FIG. 6 depicts a flowchart for storing metadata in an end user database,according to an embodiment.

FIG. 7 depicts another flowchart for storing metadata in an end userdatabase, according to an embodiment.

FIG. 8 is a block diagram of an example computer system in whichembodiments may be implemented.

Embodiments will now be described with reference to the accompanyingdrawings. In the drawings, like reference numbers indicate identical orfunctionally similar elements. Additionally, the left-most digit(s) of areference number identifies the drawing in which the reference numberfirst appears.

DETAILED DESCRIPTION I. Introduction

The present specification discloses numerous example embodiments. Thescope of the present patent application is not limited to the disclosedembodiments, but also encompasses combinations of the disclosedembodiments, as well as modifications to the disclosed embodiments.

References in the specification to “one embodiment,” “an embodiment,”“an example embodiment,” etc., indicate that the embodiment describedmay include a particular feature, structure, or characteristic, butevery embodiment may not necessarily include the particular feature,structure, or characteristic. Moreover, such phrases are not necessarilyreferring to the same embodiment. Further, when a particular feature,structure, or characteristic is described in connection with anembodiment, it is submitted that it is within the knowledge of oneskilled in the art to effect such feature, structure, or characteristicin connection with other embodiments whether or not explicitlydescribed.

Furthermore, it should be understood that spatial descriptions (e.g.,“above,” “below,” “up,” “left,” “right,” “down,” “top,” “bottom,”“vertical,” “horizontal,” “front,” “rear,” etc.) used herein are forpurposes of illustration only, and that practical implementations of thestructures described herein can be spatially arranged in any orientationor manner.

Numerous exemplary embodiments are described as follows. It is notedthat the section/subsection headings used herein are not intended to belimiting. Embodiments described in this document may be eligible forinclusion within multiple different sections or subsections.Furthermore, disclosed embodiments may be combined with each other inany manner.

II. Example Embodiments

The example embodiments described herein are provided for illustrativepurposes, and are not limiting. The examples described herein may beadapted to any type of metadata enhancement system. Further structuraland operational embodiments, including modifications/alterations, willbecome apparent to persons skilled in the relevant art(s) from theteachings herein.

DVRs are consumer electronic devices that record items of media contentin a digital format such that users may access and play back a recordeditem at a later time. Users typically utilize DVRs with respect tolinear TV because users may want to watch items of media content attheir leisure instead of at the original airing time. While there aremany consumer electronic devices that accomplish the task of recordingand storing items of media content for playback, these recorded itemstypically have limited descriptive information associated therewith.Thus, when the recorded items are presented to a user for playback, itcan be difficult for the user to identify which item they wish toplayback.

Furthermore, tools exist that utilize items of media content recordedand watched by users to perform user specific modeling to aid inproviding user-specific searching and recommendations. However, due tothe limited information associated with such recorded items, such toolsmay not be able to fully incorporate the recorded items in the userspecific modeling.

Embodiments overcome these and other issues by intelligently andefficiently enriching or enhancing metadata for recorded items of mediacontent stored on a DVR. In an embodiment, a media content metadataenhancing system communicates with a switching device via one or morenetworks. The media content metadata enhancing system remotely accessesrecorded items stored on the DVR either directly or via the switchingdevice. In embodiments, and to aid in the identification of the storedrecorded items, the media content metadata enhancing system remotelyaccesses an Electronic Program Guide (EPG) stored on a set top boxcoupled to the DVR. Once the recorded item is identified, the mediacontent metadata enhancing system retrieves second metadata associatedwith the recorded item from a content database. The second metadata isstored in an end user database specific to the end user. In this way,when the recorded item of media content is displayed to the end user,the second metadata may be displayed as an enhancement to any metadataalready associated with the recorded item, providing an enhanceddescription of the recorded item. Furthermore, the recorded item ofmedia content with enhanced description is more useful in duringsearching and user modeling.

Example embodiments are described as follows that are directed totechniques for enhancing metadata for recorded items of media content.For instance, FIG. 1 depicts a block diagram of a system 100 forenhancing metadata for recorded items of media content, according to anembodiment. As shown in FIG. 1, system 100 includes a local side 130 anda network side 132. Local side 130 represents a user environment (e.g.,a home, a room of a home, an office, etc.) and includes a digital videorecorder (DVR) 102, a set top box 104, a remote control 106, a switchingdevice 108, and a display device 110. DVR 102 stores a recorded item120. Set top box 104 includes an electronic program guide (EPG) 122.Network side 132 represents a network-based environment (e.g., in aserver, a server set, a data center, etc.) that is remote to local side130, and is communicatively coupled with local side 130 over network112. Network side 132 includes a server 114 and a source website 118,which are communicatively coupled via a network 116. Server 114 includesa media content metadata enhancing system 124, a content database 126,and an end user database 128. These features of system 100 are describedas follows.

In the environment of local side 130, the components shown in FIG. 1 arephysically close enough together to be connected via wired connectionssuch as HDMI (high definition media interface) cables, coaxial cables,ethernet cables, and/or any other type of suitable wired mediaconnection. However, it is important to note that this is not to beconstrued in a limiting sense and the components in local side 130 maybe additionally and/or alternatively connected in their localenvironment via one or more wireless connections (e.g., personal areanetworks (PANs), wireless local area networks (WLANs).

Digital video recorder (DVR) 102 may be any consumer electronic devicecapable of recording items of media content in a digital format suchthat users may access, play, and watch the recorded item at a latertime. Set top box 104 may be any consumer electronic device thatreceives a stream of media content that includes one or more of cableTV, satellite TV, and/or over-the-air TV and provides selected mediacontent of the stream to a display device, such as display device 110,for viewing by the user. For example, set top box 104 may receive thestream in the form of a signal over an Ethernet cable, a satellite dish,a coaxial cable, a telephone line, a TV antenna, etc. Display device 110may represent any display device, such as a television (TV) set(including a high definition television (HDTV), capable of displayingmedia content to users.

Switching device 108 may represent any device that may connect to andcontrol entertainment devices, such as cable/satellite, streaming mediaplayers, and gaming consoles. In an embodiment, switching device 108includes any type of media device hub, such as a multimedia switchingdevice, an AVR, a repeater, or any other device that may comprise amedia device hub or may operate as a hub for media devices or otherdevices. For instance, a media device hub as used herein may include aplurality of input and/or output AV ports and be operable to select anappropriate input and/or output port based on a selection (e.g., a userselection). An example of switching device 104 that may implement, or beadapted to implement, techniques described herein include, but is notlimited to Control Center®, available from Caavo Inc. As shown in FIG.1, switching device 108 may be coupled in a wired and/or wirelessfashion to DVR 102, set top box 104, and display device 110.

Note that in an embodiment, DVR 102 and set-top box 104 may bephysically separate devices as shown in FIG. 1. Alternatively, DVR 102and set-top box 104 may be physically integrated in a single device.

In an embodiment, switching device 108 comprises an HDMI switchingdevice such as that described in commonly-owned U.S. patent applicationSer. No. 14/945,125, filed Nov. 18, 2015, and entitled “AutomaticIdentification and Mapping of Consumer Electronic Devices to Ports on anHDMI Switch”, the entirety of which is incorporated by reference herein.In accordance with such an embodiment, the HDMI switching device isconnected to a TV or other display device, such as display device 110,and provides a user interface through such display device by which auser can identify and replay recorded items of media content.

Remote control 106 may represent any component of an electronic deviceused to operate a device. Examples of remote control 106 includetelevision remote controls, universal remotes, smart phones, tabletdevices, and other devices that can be held in a person's hand or handsas well as stationary devices such as televisions, set-top boxes,satellite TV receiver boxes, DVD players, and other devices too large tobe easily carried by a human, and that are intended to operate in astationary location. In embodiments, remote control 106 may beconfigured to control switching device 108 which may be configured tocontrol DVR 102 and set top box 104 for display to display device 110.However, this is not to be construed in a limiting sense and system 100may include multiple remote controls to controls each of DVR 102, settop box 104, switching device 108, and display device 110.

Recorded item 120 represents an item of media content that is recordedby a user on local side 130 and stored on DVR 102. For example, recordeditem 120 may be a recording of a television show, a movie, etc. As notedabove, recorded item 120 includes metadata with listed information thatdescribes the recorded item. For instance, the listed information mayinclude information such as a title of the recorded item of mediacontent, a recording time of the recorded item of media content, arecording duration of the recorded item of media content, an airingchannel of the recorded item of media content, an episode title of therecorded item of media content, a recording video property of therecorded item of media content like HDMI, audio, etc., or the like. Themetadata is typically exposed by the DVR for viewers to consume and isnot necessarily uniform across different recording device types. Assuch, in embodiments, the metadata may need to be normalized or enrichedto be processed for obtaining additional metadata that corresponds tothe recorded item, discussed in greater detail hereinafter. The metadatamay be enriched or normalized using various tools, such as, an EPG.

EPG 122 may represent a historical programming guide for a linear TVservice (e.g., Fios®, Comcast®, DirectTVNOW®, etc.) subscribed to by theuser on whose broadcasted content the recording has been performed.Typically, such linear TV services or multichannel video programdistributors (MVDPs) provide a programming guide of EPG 122 in advance.The programming guide of EPG 122 may have the form of a grid, table,array, list, or other form, that indicates content that will bebroadcasted in various channels for a period of time (e.g., days, weeks)which can be accumulated and stored in a database. In an embodiment, EPG122 is a menu-based system that provides users with continuously updatedmenus displaying broadcast programming or scheduling information forcurrent and upcoming programming Over a period of time, this accumulateddata becomes the historical programming guide which contains broadcastinformation for channels for the previous number of days collected.Furthermore, EPG 122 may be periodically-updated orintermittently-updated and may be published by a variety of differentmedia broadcasting entities, such as DirectTV®, AT&T®, Comcast®, or thelike.

In embodiments, EPG 122 may be extracted based on the user'ssubscription and used to aid in the identification of recorded items ofmedia content. For instance, the programming guide of EPG 122 mayinclude additional metadata (e.g., air times, channels, etc.) or linksto external database(s) to use to obtain supplemental information toidentify recorded items. Multiple airing instances of a same particularitem of media content (e.g., a TV show, a movie, etc.) may be indicatedat different times/days and/or different channels in EPG 122. Theadditional metadata of EPG 122 may supplement the listed informationretrieved from DVR 102 to clearly identify the recorded item. Inembodiments, EPG 122 may be accessed by via network (e.g., the Internet)or some other communication channel.

Network 112 may comprise one or more networks such as local areanetworks (LANs), wide area networks (WANs), enterprise networks, theInternet, etc., and may include one or more of wired and/or wirelesscommunication links.

Server 114 may be a server or a collection of servers accessible byswitching device 108 over network 112 (e.g., “network-based” or“cloud-based” servers in an embodiment) to store, manage, and processdata. Media content metadata enhancing system 124 of server 114 isconfigured to communicate with switching device 108 to retrieve andenhance metadata of a recorded item of media content stored on DVR 102,such as recorded item 120. In embodiments, and discussed in greaterdetail hereinafter, media content metadata enhancing system 124 relieson EPG 122 and content database 126 to identify the recorded item andenhance the associated metadata, respectively.

Content database 126 may be stored in one or more suitable memorydevices and may be configured to store rich metadata (e.g.,comprehensive information) of items of media content. In embodiments,the rich metadata may include images, OTT (over the top) links, externalsite links, social networking handles, or the like. Content database 126may be populated with the rich metadata in various ways. For instance,content database 126 may be populated by obtaining metadata about itemsof media content from different content providers such as entertainmentcontent metadata provider(s) (e.g., Gracenote®, Rovi®, etc.), videocontent provider(s) (e.g., Hulu®, Netflix®, HBO®, YouTube®, Amazon®,etc.), web-based information provider(s) (e.g., IMDB®), audio contentprovider(s) (e.g., Rhapshody®, iTunes®, Last.Fm®, etc.), recordedcontent, or network-based content.

Content database 126 may be further populated by obtaining metadata fromdifferent source websites, such as source website 118. Source website118 may comprise one or more websites that are published by providers ofmedia content (e.g., Netflix®, Hulu®, Amazon®, HBOGO®, etc.), as well asproviders that provide data regarding media content, and/or that collectdata regarding media content from users, businesses, etc., such a chatboard website, a news website, a blog website, a social network such asFacebook®, an online digital media store (e.g., iTunes®, etc.), etc. Insome embodiments, media content metadata enhancing system 124 crawls oneor more websites, such as source website 118, to obtain additionalmetadata associated with items of media content to be stored in contentdatabase 126. Additionally, and in embodiments, content database 126 maybe populated by obtaining EPG 122 from set top box 104 or by obtainingmetadata about items of media content from set top box 104, sourcewebsite 118 and/or DVR 102.

As noted above, in embodiments, media content metadata enhancing system124 is configured to retrieve metadata associated with a recorded itemof media content (recorded by a user), identify the aired instance ofthe recorded item, retrieve further metadata associated with therecorded item, and to aggregate and store the metadata in an end userdatabase associated with the end user. In this manner, when the useraccesses the recorded item on the DVR (or elsewhere), the aggregatedmetadata may be presented to the user to provide information regardingthe recorded item beyond what the DVR conventionally maintains. Examplesof such information include blog, chat board, news site and/or socialmedia commentary about the recorded item.

With reference to FIG. 1, media content metadata merger 124 isconfigured to retrieve first metadata associated with recorded item 120from DVR 102, utilize EPG 122 to identify an aired instance of recordeditem 120, retrieve second metadata associated with recorded item 120from content database 126, and store the first metadata and the secondmetadata in end user database 128.

End user database 128 is stored in one or more suitable storage devicesand is configured to store enhanced metadata associated with a recordeditem of media content. In embodiments, end user database 128 issearchable by the end user to identify and access the first metadata andsecond metadata for display to the end user via the end user deviceand/or the recorded item of media content for playback via the end userdevice. For instance, end user database 128 stores a content ID for eachrecorded item of media content that can be used to access such item ofmedia content from a content provider website or service for playback.Thus, for example, when an end user wishes to watch a recorded item ofmedia content, the content ID can be retrieved from end user database128 and passed to the content provider website or service to quicklyretrieve the content. In the embodiment shown in FIG. 1, end userdatabase 128 is configured to maintain metadata relating to recordeditem 120 where the additional metadata is retrieved from contentdatabase 126 via various sources.

Furthermore, and in embodiments, media content metadata enhancing system124 enables the use of the first metadata and the second metadata to aidin user modeling for searching and recommending items of media content.In embodiments, end users are enabled to search for media contentincluding recorded items of media content based on enhanced metadataabout such recorded items of media content that are stored by mediacontent search system 124. This enhanced metadata may also be providedto the user for viewing thereof, e.g., via switching device 108 on adisplay that is connected thereto. Such enhanced metadata about recordeditems of media content, discussed in detail elsewhere herein, may beobtained by performing a merging process between first metadata ofrecorded items of media content and second metadata retrieved fromdatabase 126. Furthermore, and as noted above, the end user may simplysearch end user database 128 to identify and access the enhancedmetadata for display to the end user and/or the recorded item of mediacontent for playback via switching device 108.

In embodiments, search queries submitted by the end user are passed byswitching device 108 to media content metadata enhancing system 124 andenhanced metadata about recorded items of media content that areresponsive to the search query are passed back to switching device 108for display via the connected display device. If the end user identifiesand selects one of the recorded items of media content, switching device108 can utilize a content ID and/or other information provided by orotherwise accessible to media content metadata enhancing system 124 toaccess recorded items of media content for display or playback to theend user via the connected display device. These features of system 100are discussed in more detail elsewhere herein.

In embodiments, media content metadata enhancing system 124 may beconfigured in various ways. For example, FIG. 2 depicts a flowchart 200for enhancing metadata for recorded items of media content, according toan embodiment. Media content metadata enhancing system 124 of FIG. 1 mayoperate according to flowchart 200, in an embodiment. For purposes ofillustration, flowchart 200 is described with respect to FIG. 3. FIG. 3depicts a further detailed block diagram of a media system 300, which isan example of system 100 of FIG. 1, according to an embodiment.

As shown in FIG. 3, local side 130 includes DVR 102, set top box 104,remote control 106, switching device 108, display device 110 and network112. Network side 132 includes server 114, media content metadataenhancing system 124, content database 126, end user database 128,source website 118, and network 116. These elements are configured tooperate in a substantially similar manner as those described withrespect to FIG. 1. Furthermore, and as shown in FIG. 3, switching device108 includes a device crawler 302 and an EPG data retriever 304. Mediacontent metadata enhancing system 124 includes a metadata determiner306, a metadata enhancer 308, a program data retriever 310, a recordeditem identifier 312, a personalized searcher 314, and a recorded itemmapper 316. Metadata determiner 306 includes a metadata normalizer 318,a metadata extractor 320, and a metadata receiver 322. These features ofsystem 300 are described as follows in conjunction with flowchart 200.

Note that not all steps of flowchart 200 need to be performed in allembodiments. Further structural and operational embodiments will beapparent to persons skilled in the relevant art(s) based on thefollowing description.

Flowchart 200 begins with step 202. In step 202, first metadataassociated with the recorded item is determined from the digital videorecorder, where the first metadata includes listed information for therecorded item. For example, with reference to FIG. 3, metadatadeterminer 306 determines, from DVR 102, first metadata associated withrecorded item 120 that includes listed information for recorded item120. As noted above, the listed information may include high levelinformation for the recorded item that is maintained in association withthe recorded item on DVR 102, such as the title of the recorded item,the channel the recorded item was recorded from or the date the recordeditem was recorded. For example, in one illustrative example, the listedinformation may include a title of “Star Wars,” a recorded channel of“FX,” a recorded date of “1-2-2019,” and a recorded time of “3:00 pmEST.”

In step 204, program data is retrieved from an electronic program guidebased on the listed information. For example, with reference to FIG. 3,program data retriever 130 retrieves program data from EPG 122 based onthe listed information. Following the above example, program dataretriever 130 may retrieve program data from EPG 122 for the recordeditem identified by metadata that includes title of “Star Wars,” arecorded channel of “FX,” a recorded date of “1-2-2019,” and “a recordedtime of 3:00 pm EST.” This particular metadata includes that therecorded item aired on channel FX on the day of 1-2-19. The programlistings of EPG 122 may be searched for the date of Jan. 2, 2019, onchannel FX, to determine any program airings of media content with “StarWars” in the title. Numerous airings of such media content may beobtained for channel FX on Jan. 2, 2019, including “Star Wars” at 1 pmEST, “Star Wars: A New Hope” at 10 am EST, “Star Wars: The Last Jedi” at5 pm EST, “Star Wars: Episode V” at 3:00 pm EST, etc.

In step 206, an aired instance of the first media content thatcorresponds to the recorded item is determined in the program data,where the aired instance of the first media content in the program dataincludes identifying information for the first media content additionalto the listed information. In an embodiment, recorded item identifier312 filters the program data retrieved from EPG 122 to identify theaired instance of the first media content that corresponds to therecorded item. For example, with reference to FIG. 3, recorded itemidentifier 312 determines in the program data an aired instance of thefirst media content that corresponds to recorded item 120. Inembodiments, the aired instance of the first media content includesidentifying information, such as the airing year, for the first mediacontent, and at least of this identifying information is additional tothe listed information (from the DVR), but may also include informationthat overlaps the listed information. For example, following the aboveexample, recorded item identifier 312 determines an instance of recordeditem 120 “Star Wars” aired at “3 P.M. EST.” In embodiments, and as notedabove, the aired instance of the first media content includesidentifying information for the first media content additional to thelisted information. For example, following the above example, the airedinstance of “Star Wars” and “3:0 pm EST” further includes additionalinformation to identify the title as “Star Wars: Episode V.”

Note that in this example, if multiple airings occurred at 3 pm ESTmatching “Star Wars” on Jan. 2, 2019, on the FX channel, recorded itemidentifier 312 determines which is a best match to the metadatadetermined by metadata determiner 306. For example, if metadatadeterminer 306 determined a program length for the recorded item asmetadata, recorded item identifier 312 may compare this determinedprogram length to the indicated program lengths for the multipleairings, as indicated in EPG 122 for a closest match. The closestmatching airing is indicated by recorded item identifier 312 at thedetermined airing (in step 206).

In step 208, second metadata associated with the first media content isretrieved from at least one data source based at least on theidentifying information, where the second metadata includes supplementalinformation for the first media content additional to the listedinformation and the identifying information. For example, with referenceto FIG. 3, metadata enhancer 308 retrieves second metadata associatedwith the first media content from content database 126 based at least onthe identifying information. For example, following the above example,metadata enhancer 308 retrieves second metadata for “Star Wars: EpisodeV” from content database 126. In embodiments, and as noted above, thesecond metadata includes supplemental information for the first mediacontent additional to the listed information and the identifyinginformation. The supplemental information may include informationdescribing the recorded item that is the same or additional to thelisted information and the identifying information. For example,following the above example, the second metadata may includesupplemental information to further identify the recorded item by, suchas a title of “Star Wars: Episode V, The Empire Strikes Back,” a releasedate of “1980” and story by “George Lucas.”

In step 210, the first metadata and the second metadata are stored in anend user database in association with the end user. For example, withreference to FIG. 3, metadata enhancer 308 stores the first metadata andthe second metadata in end user database 128 in association with the enduser. In embodiments, the metadata is stored in end user database 128along with a content identifier (ID) corresponding to recorded item 120.For example, following the above example, “Star Wars: Episode V, TheEmpire Strikes Back,” “1980” and “George Lucas,” “FX,” “1-2-2019,” and“3:00 pm EST” are all stored in end user database 128 in associationwith the end user of DVR 102 and switching device 108. In this way, thecontent ID corresponding to recorded item 120 enables the end user toaccess and play back recorded item 120 on a TV or other device and beprovided with the enhanced metadata obtained by metadata enhancer 308.

As noted above, media content metadata enhancing system 124 isconfigured to enable the end user to perform a targeted search for mediacontent within end user database 128. For example, and with reference toFIG. 3, personalized searcher 314 is configured to enable an end user ofDVR 102 and switching device 108 to perform a targeted search for mediacontent within end user database 128 corresponding to the user (e.g., bya user identifier associated with the user and end user database 128 forthe user). For instance, personalized searcher 314 is configured toreceive a search query from the end user via switching device 108. Inresponse to the search request, personalized searcher 314 may apply thesearch query to end user database 126 to identify items of mediacontent, including recorded items of media content, based at least onthe aforementioned metadata stored in end user database 128. In anembodiment, personalized searcher 314 is further configured to providethe metadata associated with the recorded item of media content, or aportion thereof, to switching device 108 for presentation to the enduser, for instance via display device 110. In another embodiment,personalized searcher 314 is configured to enable the playback of therecorded item of media content via switching device 108. As such,personalized searcher 314 is configured to enable end users of switchingdevice 108 to perform targeted searches for items of media content,including recorded items of media content, within end user database 128.Personalized searcher 314 further enables personalized searching bydifferent kinds of categories, such as “story by.”

Furthermore, and as noted above, media content metadata enhancing system124 is configured to enable the end user to receive recommendations formedia content based on content stored in end user database 128. Forexample, and with reference to FIG. 3, personalized searcher 314 isconfigured to enable an end user of DVR 102 and switching device 108 torequest recommendations for media content within corresponding end userdatabase 128. Alternatively, personalized searcher 314 is configured toautomatically transmit recommendations of items of media content to anend user of DVR 102 and switching device 108. In an embodiment,personalized searcher 314 is configured to enable the playback of arecommended recorded item of media content via switching device 108. Assuch, personalized searcher 314 is configured to enable end users ofswitching device 108 to receive recommendations of items of mediacontent in various ways based on content stored in end user database128. For instance, the recommendations may be based on content withsimilar directors, actors, year, or the like to content stored in enduser database 128.

As described above, first metadata associated with the recorded item isdetermined from the digital video recorder in various ways. Forinstance, FIG. 4 depicts a flowchart 400 for determining first metadataassociated with the recorded item, according to an embodiment. In anembodiment, flowchart 400 may be implemented by metadata determiner 306.In an embodiment, flowchart 400 may be performed as part of step 202 offlowchart 200. FIG. 4 is described as follows with continued referenceto system 100 and system 300. Other structural and operationalembodiments will be apparent to persons skilled in the relevant art(s)based on the following discussion regarding flowchart 400, system 100and system 300.

FIG. 4 begins with step 402. In step 402, the digital video recorder isnavigated to obtain an image of a program listing that contains adescription of the recorded item. For example, with reference to FIG. 3,DVR 102 is navigated to obtain an image of a program listing thatcontains a description of recorded item 120. The image is provided tometadata extractor 320 for processing. Note that in an embodiment,metadata extractor 318 may receive the metadata in the form of textualdata from the DVR (e.g., by requesting a listing of items recorded onthe DVR through switching device 108). In another embodiment, devicecrawler 302 may be configured to navigate, or “crawl,” the menus of theDVR to obtain the metadata, and may provide the metadata to metadataextractor 318

In an embodiment navigation/crawl embodiment, metadata extractor 318 mayknow the menu configuration of DVR 102. Thus, metadata extractor 318 maytransmit instructions to device crawler 302 to navigate from a home menuof DVR 102 to a “stored” menu, where one or more images are captured ofthe listings of recorded items stored on DVR 102. For example, devicecrawler 302 may select the on-screen navigation buttons (e.g., byforeknowledge of identifiers for the buttons, of the on-screen locationsof the buttons etc.) by transmitting the selection commands to DVR 102,and navigating from a home screen to the page of stored recorded items.Then, device crawler 302 performs screen captures of the page listingthe stored recorded items, scrolling the page as needed, to captureimages of the entire listing. For example, switching device 108 mayinclude a camera controlled by device crawler 302 to perform a literalscreen image capture of display device 110 when displaying the listing.Alternatively, device crawler 302 commands DVR 102 to transmit backscreen display data when the listing is displayed. Note that in anembodiment, this image capturing of the listing of recorded items may beperformed at a time media system 100 is not being used by a user to viewcontent (e.g., at nighttime, etc.) so that the navigating of menus ofDVR 102 to obtain the listing does not interfere with the user's contentviewing.

In step 404, text is extracted from the image to text, where the textincludes the description of the recorded item. For example, withreference to FIG. 3, metadata extractor 320 extracts text from theimage, where the text includes the description of recorded item 120 thatwas included in the program listings on DVR 102. In embodiments,metadata extractor 320 parses the image to determine which portions ofthe image comprise text and which kinds of text the portions comprise.Following the above example, metadata extractor 318 extracts the text“Stor War8,” “FX channel,” and “1-2-2019” from the image. Note that theimage may have any suitable format, including being a file format suchas .gif., .jpg, .mpeg, etc. Any suitable type of optical characterrecognition (OCR) may be performed to extract text from the recordeditem listing images.

In step 406, the description of the recorded item is normalized, thenormalized description of the recorded item being the listed informationfor the recorded item. For example, with reference to FIG. 3, metadatanormalizer 318 optionally normalizes the description of recorded item120. The normalized description of recorded item 120 results in thelisted information for recorded item 120. Following the above example,metadata extractor 318 normalizes the text to “Star Wars,” “FX”, and“1-2-2019” by correcting misspellings, eliminating unneeded words, etc.

In embodiments, metadata determiner 306 may determine the first metadatavia an Application Programming Interface (API) connection. For example,and with reference to FIG. 3, metadata receiver 322 receives the firstmetadata via an API connection with DVR 102 or switching device 108.

As described above, program data retriever 310 determines the airedinstance of the first media content. Program data retriever 310 may beconfigured to do so in various ways. For instance, FIG. 5 depicts aflowchart 500 for determining the aired instance of the first mediacontent that corresponds to the recorded item, according to anembodiment. In an embodiment, flowchart 500 may be implemented byprogram data retriever 310. In an embodiment, flowchart 500 may beperformed as part of step 206 of flowchart 200. FIG. 5 is described asfollows with continued reference to system 100 and system 300. Otherstructural and operational embodiments will be apparent to personsskilled in the relevant art(s) based on the following discussionregarding flowchart 500, system 100 and system 300.

FIG. 5 begins with step 502. In step 502, a plurality of airings ofmedia content indicated in the program data are identified. For example,with reference to FIG. 3, program data retriever 310 identifies aplurality of airings of media content indicated in the program data. Inone illustrative example, program data retriever 310 identifies anairing with a title of “Star Wars” on “FX” on “1-2-19” and three airingswith a title of “Storage Wars” on “A&E” on “1-2-19.”

In step 504, a best match is determined between the plurality of airingsand the listed information to determine the aired instance of the firstmedia content. For example, in an embodiment, program data retriever 310determines a best match between the plurality of airings and the listedinformation to determine the aired instance of the first media content.Following the above example, program data retriever 310 determines thatthe airing of “Star Wars” on “FX” on “1-2-19” is the best match forrecorded item 120.

In embodiments, program data retriever 310 may determine the best matchin various ways. For instance, in an embodiment, program data retriever310 may perform a string match between the plurality of airings and thelisted information to identify an airing of the plurality of airingsthat matches a greatest number of a recorded channel of the recordeditem. Alternatively, or additionally, in an embodiment, program dataretriever 310 may perform a string match between the plurality ofairings and the listed information to identify an airing of theplurality of airings that matches the greatest number of a date uponwhich the recorded item was recorded, a recording time of the recordeditem, a title of the recorded item, a title of the episode of therecorded item, a recording duration of the recorded item, and/or anyother associated data.

Furthermore, program data retriever 310 may determine the best match byfiltering the airings. In an embodiment, the airings may be filteredbased on recording channel information, if available. In anotherembodiment, the airings may be filtered based on recording time andrecording duration. For instance, all the airings falling in and aroundthe time interval of the recording start time to the recording end timeis considered. Alternatively, or additionally, the airing with thelargest interval match is chosen.

As noted above, in embodiments, once second metadata is retrieved,metadata enhancer stores the first metadata and the second metadata inan end user database in association with the end user. For instance, andas noted above, metadata enhancer 308 of FIG. 3 stores the firstmetadata and the second metadata in content database 126. Metadataenhancer 308 may perform this storing in various ways.

For instance, FIG. 6 shows a flowchart 600 for storing metadata in anend user database, according to an embodiment. In an embodiment,flowchart 600 may be implemented by metadata enhancer 308. In anembodiment, flowchart 600 may be performed as part of step 210 offlowchart 200. FIG. 6 is described as follows with continued referenceto system 100 and system 300. Other structural and operationalembodiments will be apparent to persons skilled in the relevant art(s)based on the following discussion regarding flowchart 600 and FIG. 3.

Flowchart 600 begins with step 602. In step 602, the recorded item ismapped to a program identifier in the at least one data source. Forexample, with reference to FIG. 3, metadata enhancer 308 maps therecorded item to a program identifier in content database 126. Followingthe above example, metadata enhancer 308 maps recorded item 120 “StarWars: Episode V” to a program identifier (e.g., a numeric code, analphanumeric code, a hash value, etc.) in content database 126corresponding to “Star Wars: Episode V, The Empire Strikes Back.” Inembodiments, the mapping may be performed in response to variousdeterminations.

For instance, in embodiments, the recorded item may be mapped to aprogram identifier in the at least one data source in response to adetermination of at least a partial match between a title of therecorded item and a title associated with the program identifier, amatch between a recording duration of the recorded item and a recordingduration associated with the program identifier, a match between anepisode title of the recorded item in the first metadata and an episodetitle associated with the program identifier, a match between a cast andcrew of the recorded item and a crew and cast associated with theprogram identifier, etc. In any event, by mapping the recorded item to aprogram identifier in the at least one data source, a recorded item in aDVR is mapped to a generic database, creating not only a better userinterface for the end user but also providing enhanced data to use forbetter personalization.

In step 604, the second metadata is stored in the end user database inassociation with the program identifier. For example, and with referenceto FIG. 3, metadata enhancer 308 stores the second metadata in end userdatabase 128 in association with program identifier. Following the aboveexample, metadata enhancer 308 stores “Star Wars: Episode V, The EmpireStrikes Back,” a release date of “1980” and story by “George Lucas” inend user database 128 in association with the program identifier.

As noted above, metadata enhancer 308 stores the first metadata and thesecond metadata in the end user database. In embodiments, the secondmetadata may achieve such storing in various ways. For instance, FIG. 7depicts a flowchart 700 for storing metadata in an end user database,according to an embodiment. In an embodiment, flowchart 700 may beimplemented by metadata enhancer 308. In an embodiment, flowchart 700may be performed as part of step 604 of flowchart 600. FIG. 7 isdescribed as follows with continued reference to system 100 and system300. Other structural and operational embodiments will be apparent topersons skilled in the relevant art(s) based on the following discussionregarding flowchart 700 and FIG. 3.

Flowchart 700 begins with step 702. In step 702, the second metadata ismerged with the first metadata to generate third metadata representativeof the recorded item of first media content. For example, with referenceto FIG. 3, metadata enhancer 308 mergers the second metadata with thefirst metadata to generate third metadata for storing in end userdatabase 128. For instance, and following the above example, metadataenhancer 308 merges “Star Wars: Episode V, The Empire Strikes Back,”“1980” and “George Lucas,” with “Star Wars,” “FX,” “1-2-2019” and “3:00pm EST” to generate “Star Wars: Episode V, The Empire Strikes Back,”“1980” and “George Lucas,” “FX,” and “1-2-2019.” Note that as describedabove, any type of further metadata may be included in second metadata(and merged into third metadata) obtained from one or more sourcewebsites 118, including new information, blog information, social mediacommentary, etc.

In step 704, the third metadata is stored in the end user database. Forexample, with reference to FIG. 3, metadata enhancer 308 stores thethird metadata in end user database 128. For instance, and following theabove example, metadata enhancer stores “Star Wars: Episode V, TheEmpire Strikes Back,” “1980” and “George Lucas,” “FX,” “1-2-2019,” and“3:00 pm EST” in end user database 128. In this way, the third metadatawill be accessible for “Star Wars” and the end user's account forsearching, user modeling, etc. The third metadata will also beaccessible for display to the end user.

In embodiments, switching device 108 is configured to obtain the firstmetadata and the EPG data for transmission to media content metadataenhancing system 124. For instance, with respect to FIG. 3, switchingdevice 108 is configured to receive first metadata of recorded item 120from DVR 102 associated with an end user. In embodiments, DVR 102 may beinternal or external to switching device 108 associated with the enduser. For example, and with reference to FIG. 3, switching device 108may receive metadata of recorded item 120 from DVR 102. In embodiments,the recorded item may be a movie, a television show, an episode of atelevision show. However, this is not to be construed in a limitingsense and the recorded item of media content may also encompass audiocontent (e.g., albums, songs, podcasts), video games, softwareapplications or any other type of recordable media content.

III. Example Computer System Implementation

DVR 102, set top box 104, remote control 106, switching device 108,display device 110, server 114, media content metadata enhancing system124, content database 126, end user database 128, and source website 118shown in FIG. 1, device crawler 302, EPG data retriever 304, metadatanormalizer 318, metadata extractor 320, metadata receiver 322, recordeditem mapper 316, metadata enhancer 308, program data retriever 310,recorded item identifier 312, personalized searcher 314 shown in FIG. 3,flowchart 200, flowchart 400, flowchart 500, flowchart 600, andflowchart 700 may be implemented in hardware, or any combination ofhardware with software and/or firmware. For example, the computingdevices of FIGS. 1 and 3 and/or the components included therein may beimplemented as computer program code configured to be executed in one ormore processors. In another example, DVR 102, set top box 104, remotecontrol 106, switching device 108, display device 110, server 114, mediacontent metadata enhancing system 124, content database 126, end userdatabase 128, and source website 118 shown in FIG. 1, device crawler302, EPG data retriever 304, metadata normalizer 318, metadata extractor320, metadata receiver 322, recorded item mapper 316, metadata enhancer308, program data retriever 310, recorded item identifier 312,personalized searcher 314 shown in FIG. 3 and/or the components includedtherein may be implemented as hardware (e.g., hardware logic/electricalcircuitry), or any combination of hardware with one or both of software(computer program code configured to be executed in one or moreprocessors or processing devices) and firmware.

The embodiments described herein, including systems, methods/processes,and/or apparatuses, may be implemented using well knownservers/computers, such as computer 800 shown in FIG. 8. For example,DVR 102, set top box 104, remote control 106, switching device 108,display device 110, server 114, media content metadata enhancing system124, content database 126, end user database 128, and source website 118shown in FIG. 1, device crawler 302, EPG data retriever 304, metadataextractor 318, metadata receiver 320, recorded item mapper 316, metadataenhancer 308, program data retriever 310, recorded item identifier 312,personalized searcher 314 shown in FIG. 1 and FIG. 3 and/or thecomponents included therein, and each of the steps of flowchart 200depicted in FIG. 2, flowchart 300 depicted in FIG. 3, flowchart 400depicted in FIG. 4, flowchart 500 depicted in FIG. 5, flowchart 600depicted in FIG. 6, and flowchart 700 depicted in FIG. 7 can each beimplemented using one or more computers 800.

Computer 800 can be any commercially available and well-known computercapable of performing the functions described herein, such as computersavailable from International Business Machines, Apple, Sun, HP, Dell,Cray, etc. Computer 800 may be any type of computer, including a desktopcomputer, a server, etc.

As shown in FIG. 8, computer 800 includes one or more processors (alsocalled central processing units, or CPUs), such as a processor 806.Processor 806 is connected to a communication infrastructure 802, suchas a communication bus. In some embodiments, processor 806 cansimultaneously operate multiple computing threads.

Computer 800 also includes a primary or main memory 808, such as randomaccess memory (RAM). Main memory 808 has stored therein control logic824 (computer software), and data.

Computer 800 also includes one or more secondary storage devices 810.Secondary storage devices 810 include, for example, a hard disk drive812 and/or a removable storage device or drive 814, as well as othertypes of storage devices, such as memory cards and memory sticks. Forinstance, computer 800 may include an industry standard interface, sucha universal serial bus (USB) interface for interfacing with devices suchas a memory stick. Removable storage drive 814 represents a floppy diskdrive, a magnetic tape drive, a compact disk drive, an optical storagedevice, tape backup, etc.

Removable storage drive 814 interacts with a removable storage unit 816.Removable storage unit 816 includes a computer useable or readablestorage medium 818 having stored therein computer software 826 (controllogic) and/or data. Removable storage unit 816 represents a floppy disk,magnetic tape, compact disc (CD), digital versatile disc (DVD), Blu-Ray™disc, optical storage disk, memory stick, memory card, or any othercomputer data storage device. Removable storage drive 814 reads fromand/or writes to removable storage unit 816 in a well-known manner.

Computer 800 also includes input/output/display devices 804, such asmonitors, keyboards, pointing devices, etc.

Computer 800 further includes a communication or network interface 820.Communication interface 820 enables computer 800 to communicate withremote devices. For example, communication interface 820 allows computer800 to communicate over communication networks or mediums 822(representing a form of a computer useable or readable medium), such aslocal area networks (LANs), wide area networks (WANs), the Internet,etc. Network interface 820 may interface with remote sites or networksvia wired or wireless connections. Examples of communication interface822 include but are not limited to a modem, a network interface card(e.g., an Ethernet card), a communication port, a Personal ComputerMemory Card International Association (PCMCIA) card, etc.

Control logic 828 may be transmitted to and from computer 800 via thecommunication medium 822.

Any apparatus or manufacture comprising a computer useable or readablemedium having control logic (software) stored therein is referred toherein as a computer program product or program storage device. Thisincludes, but is not limited to, computer 800, main memory 808,secondary storage devices 810, and removable storage unit 816. Suchcomputer program products, having control logic stored therein that,when executed by one or more data processing devices, cause such dataprocessing devices to operate as described herein, represent embodimentsof the invention.

Devices in which embodiments may be implemented may include storage,such as storage drives, memory devices, and further types ofcomputer-readable media. Examples of such computer-readable storagemedia include a hard disk, a removable magnetic disk, a removableoptical disk, flash memory cards, digital video disks, random accessmemories (RAMs), read only memories (ROM), and the like. As used herein,the terms “computer program medium” and “computer-readable medium” areused to generally refer to the hard disk associated with a hard diskdrive, a removable magnetic disk, a removable optical disk (e.g.,CDROMs, DVDs, etc.), zip disks, tapes, magnetic storage devices, MEMS(micro-electromechanical systems) storage, nanotechnology-based storagedevices, as well as other media such as flash memory cards, digitalvideo discs, RAM devices, ROM devices, and the like. Suchcomputer-readable storage media may store program modules that includecomputer program logic for implementing the DVR 102, set top box 104,remote control 106, switching device 108, display device 110, server114, media content metadata enhancing system 124, content database 126,end user database 128, and source website 118 shown in FIG. 1, devicecrawler 302, EPG data retriever 304, metadata normalizer 318, metadataextractor 320, metadata receiver 322, recorded item mapper 316, metadataenhancer 308, program data retriever 310, recorded item identifier 312,personalized searcher 314 shown in FIG. 3, flowchart 200, flowchart 400,flowchart 500, flowchart 600, and flowchart 700 and/or furtherembodiments described herein. Embodiments of the invention includeembodiments directed to computer program products comprising such logic(e.g., in the form of program code, instructions, or software) stored onany computer useable medium. Such program code, when executed in one ormore processors, causes a device to operate as described herein.

Note that such computer-readable storage media are distinguished fromand non-overlapping with communication media. Communication mediaembodies computer-readable instructions, data structures, programmodules or other data in a modulated data signal such as a carrier wave.The term “modulated data signal” means a signal that has one or more ofits characteristics set or changed in such a manner as to encodeinformation in the signal. By way of example, and not limitation,communication media includes wireless media such as acoustic, RF,infrared and other wireless media, as well as wired media. Exampleembodiments are also directed to such communication media.

It is noted that while FIG. 8 shows a server/computer, persons skilledin the relevant art(s) would understand that embodiments/featuresdescribed herein could also be implemented using other well-knownprocessor-based computing devices, including but not limited to, smartphones, tablet computers, netbooks, gaming consoles, personal mediaplayers, and the like.

IV. Additional Exemplary Embodiments

A method of enhancing metadata of a recorded item of first media contentstored on a digital video recorder associated with an end user isdescribed herein. The method comprises determining, from the digitalvideo recorder, first metadata associated with the recorded item, thefirst metadata including listed information for the recorded item,retrieving program data from an electronic program guide based on thelisted information, determining, in the program data, an aired instanceof the first media content that corresponds to the recorded item, theaired instance of the first media content in the program data includingidentifying information for the first media content additional to thelisted information, retrieving second metadata associated with the firstmedia content from at least one data source based at least on theidentifying information, the second metadata including supplementalinformation for the first media content additional to the listedinformation and the identifying information, and storing the firstmetadata and the second metadata in an end user database in associationwith the end user.

In one embodiment of the foregoing method, said determining, from thedigital video recorder, first metadata associated with the recorded itemcomprises navigating the digital video recorder to obtain an image of aprogram listing that contains a description of the recorded item,extracting text from the image, the text including the description ofthe recorded item, and normalizing the description of the recorded item,the normalized description of the recorded item being the listedinformation for the recorded item.

In another embodiment of the foregoing method, said determining theaired instance of the first media content that corresponds to therecorded item comprises identifying a plurality of airings of mediacontent indicated in the program data, and determining a best matchbetween the plurality of airings and the listed information to determinethe aired instance of the first media content.

In yet another embodiment of the foregoing method, said determining abest match comprises performing a string match between the plurality ofairings and the listed information to identify an airing of theplurality of airings that matches a greatest number of a recordedchannel of the recorded item, a date upon which the recorded item wasrecorded, a recording time of the recorded item, a title of the recordeditem, a title of the episode of the recorded item, a recording durationof the recorded item, and a title of the recorded item.

In yet another embodiment of the foregoing method, said storingcomprises mapping the recorded item to a program identifier in the atleast one data source, and storing the second metadata in the end userdatabase in association with the program identifier.

In yet another embodiment of the foregoing method, said mapping therecorded item to the program identifier in the at least one data sourceis performed in response to a determination of at least a partial matchbetween a title of the recorded item and a title of the programidentifier, a determination of a match between a recording time of therecorded item and a recording time of the program identifier, adetermination of a match between a recording duration of the recordeditem and a recording duration of the program identifier, a determinationof a match between an episode title of the recorded item in the firstmetadata and an episode title of the program identifier, or adetermination of a match between a cast and crew of the recorded itemand a crew and cast of the program identifier.

In yet another embodiment of the foregoing method, said storingcomprises merging the second metadata with the first metadata togenerate third metadata representative of the recorded item of firstmedia content, and storing the third metadata in the end user database.

In yet another embodiment of the foregoing method, the end user databaseis searchable by the end user to identify and access at least one of thesecond metadata for display at a display screen via a switch associatedwith the end user, or the recorded item for playback via the switch.

A system is described herein that includes one or more processors, andone or more memory devices connected to the one or more processors, theone or more memory devices storing program code for execution by the oneor more processors, the program code including a metadata determinerconfigured to determine, from a digital video recorder associated withan end user, first metadata associated with a recorded item of firstmedia content stored on the digital video recorder and including listedinformation for the recorded item, a program data retriever configuredto retrieve program data from an electronic program guide based on thelisted information, a recorded item identifier configured to determine,in the program data, an aired instance of the first media content thatcorresponds to the recorded item, the aired instance of the first mediacontent in the program data including identifying information for thefirst media content additional to the listed information, and a metadataenhancer configured to retrieve second metadata associated with thefirst media content from at least one data source based at least on theidentifying information, the second metadata including supplementalinformation for the first media content additional to the listedinformation and the identifying information, and store the firstmetadata and the second metadata in an end user database in associationwith the end user.

In one embodiment of the foregoing system, the metadata determinercomprises a metadata extractor configured to navigate the digital videorecorder to obtain an image of a program listing that contains adescription of the recorded item, and extract text from the image, thetext including the description of the recorded item, and a metadatanormalizer configured to normalize the description of the recorded item,the normalized description of the recorded item being the listedinformation for the recorded item.

In another embodiment of the foregoing system, the program dataretriever is further configured to identify a plurality of airings ofmedia content indicated in the program data, and determine a best matchbetween the plurality of airings and the listed information to determinethe aired instance of the first media content.

In yet another embodiment of the foregoing system, the program dataretriever determines a best match by performing a string match betweenthe plurality of airings and the listed information to identify anairing of the plurality of airings that matches a greatest number of arecorded channel of the recorded item, a date upon which the recordeditem was recorded, a recording time of the recorded item, a title of therecorded item, a title of the episode of the recorded item, a recordingduration of the recorded item, and a title of the recorded item.

In yet another embodiment of the foregoing system, the program codefurther comprises a recorded item mapper configured to map the recordeditem to a program identifier in the at least one data source and storethe second metadata in the end user database in association with theprogram identifier.

In yet another embodiment of the foregoing system, the recorded itemmapper is configured to map the recorded item to the program identifierin the at least one data source in response to a determination of atleast a partial match between a title of the identified recorded itemand a title of the program identifier, a determination of a matchbetween a recording time of the identified recorded item and a recordingtime of the program identifier, a determination of a match between arecording duration of the identified recorded item and a recordingduration of the program identifier, a determination of a match betweenan episode title of the identified recorded item in the first metadataand an episode title of the program identifier, or a determination of amatch between a cast and crew of the identified recorded item and a crewand cast of the program identifier.

In yet another embodiment of the foregoing system, the metadata enhanceris further configured to merge the second metadata with the firstmetadata to generate third metadata representative of the recorded itemof first media content and store the third metadata in the end userdatabase.

In yet another embodiment of the foregoing system, a personalizedsearcher configured to enable the end user to identify and access atleast one of the second metadata for display at a display screen via aswitch associated with the end user, or the recorded item for playbackvia the switch.

A computer-readable medium having program code recorded thereon thatwhen executed by at least one processor causes the at least oneprocessor to perform a method is described herein. The method comprisesdetermining, from the digital video recorder associated with an enduser, first metadata associated with a recorded item of first mediacontent stored on the digital video recorded and including listedinformation for the recorded item; retrieving program data from anelectronic program guide based on the listed information; determining,in the program data, an aired instance of the first media content thatcorresponds to the recorded item, the aired instance of the first mediacontent in the program data including identifying information for thefirst media content additional to the listed information; retrievingsecond metadata associated with the first media content from at leastone data source based at least on the identifying information, thesecond metadata including supplemental information for the first mediacontent additional to the listed information and the identifyinginformation; and storing the first metadata and the second metadata inan end user database in association with the end user.

In one embodiment of the foregoing computer-readable medium, saiddetermining comprises navigating the digital video recorder to obtain animage of a program listing that contains a description of the recordeditem; extracting text from the image, the text including the descriptionof the recorded item; and normalizing the description of the recordeditem, the normalized description of the recorded item being the listedinformation for the recorded item.

In another embodiment of the foregoing computer-readable medium, whereinsaid determining the aired instance of the first media content thatcorresponds to the recorded item comprises: identifying a plurality ofairings of media content indicated in the program data; and determininga best match between the plurality of airings and the listed informationto determine the aired instance of the first media content.

In yet another embodiment of the foregoing computer-readable medium,said storing comprises: mapping the recorded item to a programidentifier in the at least one data source; and storing the secondmetadata in the end user database in association with the programidentifier.

V. Conclusion

While various embodiments have been described above, it should beunderstood that they have been presented by way of example only, and notlimitation. It will be apparent to persons skilled in the relevant artthat various changes in form and detail can be made therein withoutdeparting from the spirit and scope of the embodiments. Thus, thebreadth and scope of the embodiments should not be limited by any of theabove-described exemplary embodiments, but should be defined only inaccordance with the following claims and their equivalents.

What is claimed is:
 1. A method of enhancing metadata of a recorded itemof first media content stored on a digital video recorder associatedwith an end user, comprising: determining, from the digital videorecorder, first metadata associated with the recorded item, the firstmetadata including listed information for the recorded item; retrievingprogram data from an electronic program guide based on the listedinformation; determining, in the program data, an aired instance of thefirst media content that corresponds to the recorded item, the airedinstance of the first media content in the program data includingidentifying information for the first media content additional to thelisted information; retrieving second metadata associated with the firstmedia content from at least one data source based at least on theidentifying information, the second metadata including supplementalinformation for the first media content additional to the listedinformation and the identifying information; and storing the firstmetadata and the second metadata in an end user database in associationwith the end user.
 2. The method of claim 1, wherein said determining,from the digital video recorder, first metadata associated with therecorded item comprises: navigating the digital video recorder to obtainan image of a program listing that contains a description of therecorded item; extracting text from the image, the text including thedescription of the recorded item; and normalizing the description of therecorded item, the normalized description of the recorded item being thelisted information for the recorded item.
 3. The method of claim 1,wherein said determining the aired instance of the first media contentthat corresponds to the recorded item comprises: identifying a pluralityof airings of media content indicated in the program data; anddetermining a best match between the plurality of airings and the listedinformation to determine the aired instance of the first media content.4. The method of claim 3, wherein said determining a best matchcomprises: performing a string match between the plurality of airingsand the listed information to identify an airing of the plurality ofairings that matches a greatest number of: a recorded channel of therecorded item; a date upon which the recorded item was recorded; arecording time of the recorded item; a title of the recorded item; atitle of the episode of the recorded item; a recording duration of therecorded item; and a title of the recorded item.
 5. The method of claim1, wherein said storing comprises: mapping the recorded item to aprogram identifier in the at least one data source; and storing thesecond metadata in the end user database in association with the programidentifier.
 6. The method of claim 5, wherein said mapping the recordeditem to the program identifier in the at least one data source isperformed in response to: a determination of at least a partial matchbetween a title of the recorded item and a title of the programidentifier; a determination of a match between a recording time of therecorded item and a recording time of the program identifier; adetermination of a match between a recording duration of the recordeditem and a recording duration of the program identifier; a determinationof a match between an episode title of the recorded item in the firstmetadata and an episode title of the program identifier; or adetermination of a match between a cast and crew of the recorded itemand a crew and cast of the program identifier.
 7. The method of claim 5,wherein said storing comprises: merging the second metadata with thefirst metadata to generate third metadata representative of the recordeditem of first media content; and storing the third metadata in the enduser database.
 8. The method of claim 1, wherein the end user databaseis searchable by the end user to identify and access at least one of:the second metadata for display at a display screen via a switchingdevice associated with the end user; or the recorded item for playbackvia the switching device.
 9. A system comprising: one or moreprocessors; and one or more memory devices connected to the one or moreprocessors, the one or more memory devices storing program code forexecution by the one or more processors, the program code including: ametadata determiner configured to: determine, from a digital videorecorder associated with an end user, first metadata associated with arecorded item of first media content stored on the digital videorecorder and including listed information for the recorded item; aprogram data retriever configured to: retrieve program data from anelectronic program guide based on the listed information; a recordeditem identifier configured to: determine, in the program data, an airedinstance of the first media content that corresponds to the recordeditem, the aired instance of the first media content in the program dataincluding identifying information for the first media content additionalto the listed information; and a metadata enhancer configured to:retrieve second metadata associated with the first media content from atleast one data source based at least on the identifying information, thesecond metadata including supplemental information for the first mediacontent additional to the listed information and the identifyinginformation; and store the first metadata and the second metadata in anend user database in association with the end user.
 10. The system ofclaim 9, wherein the metadata determiner comprises: a metadata extractorconfigured to: navigate the digital video recorder to obtain an image ofa program listing that contains a description of the recorded item; andextract text from the image, the text including the description of therecorded item; and a metadata normalizer configured to: normalize thedescription of the recorded item, the normalized description of therecorded item being the listed information for the recorded item. 11.The system of claim 9, wherein the program data retriever is furtherconfigured to: identify a plurality of airings of media contentindicated in the program data; and determine a best match between theplurality of airings and the listed information to determine the airedinstance of the first media content.
 12. The system of claim 11, whereinthe program data retriever determines a best match by performing astring match between the plurality of airings and the listed informationto identify an airing of the plurality of airings that matches agreatest number of: a recorded channel of the recorded item; a date uponwhich the recorded item was recorded; a recording time of the recordeditem; a title of the recorded item; a title of the episode of therecorded item; a recording duration of the recorded item; and a title ofthe recorded item.
 13. The system of claim 9, wherein the program codefurther comprises: a recorded item mapper configured to: map therecorded item to a program identifier in the at least one data source;and store the second metadata in the end user database in associationwith the program identifier.
 14. The system of claim 13, wherein therecorded item mapper is configured to map the recorded item to theprogram identifier in the at least one data source in response to: adetermination of at least a partial match between a title of theidentified recorded item and a title of the program identifier; adetermination of a match between a recording time of the identifiedrecorded item and a recording time of the program identifier; adetermination of a match between a recording duration of the identifiedrecorded item and a recording duration of the program identifier; adetermination of a match between an episode title of the identifiedrecorded item in the first metadata and an episode title of the programidentifier; or a determination of a match between a cast and crew of theidentified recorded item and a crew and cast of the program identifier.15. The system of claim 9, wherein the metadata enhancer is furtherconfigured to: merge the second metadata with the first metadata togenerate third metadata representative of the recorded item of firstmedia content; and store the third metadata in the end user database.16. The system of claim 9, further comprising: a personalized searcherconfigured to: enable the end user to identify and access at least oneof: the second metadata for display at a display screen via a switchingdevice associated with the end user; or the recorded item for playbackvia the switching device.
 17. A computer-readable medium having programcode recorded thereon that when executed by at least one processorcauses the at least one processor to perform a method, the methodcomprising: determining, from the digital video recorder associated withan end user, first metadata associated with a recorded item of firstmedia content stored on the digital video recorded and including listedinformation for the recorded item; retrieving program data from anelectronic program guide based on the listed information; determining,in the program data, an aired instance of the first media content thatcorresponds to the recorded item, the aired instance of the first mediacontent in the program data including identifying information for thefirst media content additional to the listed information; retrievingsecond metadata associated with the first media content from at leastone data source based at least on the identifying information, thesecond metadata including supplemental information for the first mediacontent additional to the listed information and the identifyinginformation; and storing the first metadata and the second metadata inan end user database in association with the end user.
 18. Thecomputer-readable medium of claim 17, wherein said determiningcomprises: navigating the digital video recorder to obtain an image of aprogram listing that contains a description of the recorded item;extracting text from the image, the text including the description ofthe recorded item; and normalizing the description of the recorded item,the normalized description of the recorded item being the listedinformation for the recorded item.
 19. The computer-readable medium ofclaim 17, wherein said determining the aired instance of the first mediacontent that corresponds to the recorded item comprises: identifying aplurality of airings of media content indicated in the program data; anddetermining a best match between the plurality of airings and the listedinformation to determine the aired instance of the first media content.20. The computer-readable medium of claim 17, wherein said storingcomprises: mapping the recorded item to a program identifier in the atleast one data source; and storing the second metadata in the end userdatabase in association with the program identifier.